package event;

import event.Event;
/**
 * Interface representing the event queue. There are two methods that must be implemented: enqueue and dequeue
 * @author 
 *
 */
public interface EQueue {
	public final static int COMM_UNDEFINED_ERROR	= -1;
	public final static int COMM_OK 				= 0;
	public final static int COMM_UNKNOWN_HOST_ERROR = 1;
	public final static int COMM_UDP_SOCKET_ERROR 	= 2;
	public final static int COMM_UDP_IO_ERROR		= 3;

	
	/**
	* Interface of the used method to insert a new event into the queue
	* @param t The new event that will be insert into the queue
	* @see int enqueue(Event t);
	*/
	public int enqueue(Event e);
	
	/**
	* Interface of the used method to delete a specific event from the queue 
	* @param t The new event that will be delete from the queue
	* @see void enqueue(Task t);
	*/
	public Event dequeue();
}
